/**

 @Name：layuiAdmin 
 @Author：flc
 @Site：http://www.layui.com/admin/
 @License：LPPL
    
 */
 
layui.define(['jquery','form'],function(exports){
  var form = layui.form,
  $ = layui.jquery,

  common = {
    /*{

      适用于数据提交  add  edit
      
      url  请求地址 必填
      name  事件名 必填
      ajaxCallback 回调方法

    }*/
    updata: function(props){
        var _this = this;
        if(props.name &&( props.url || props.path)){
          form.on(props.name, function(data) {
            _this.commonAjax({
              url: props.url || null,
              path: props.path || null,
              data: data.field,
              callback: function(data){
                typeof props.ajaxCallback == "function" ? props.ajaxCallback(data) : null;
                _this._success(data);
              } 
            });
          });
        }
    },

    delete: function(){
      var _this = this;
      if(props.data &&( props.url || props.path)){
          _this.commonAjax({
            url: props.url || null,
            path: props.path || null,
            data: props.data,
            callback: function(data){
              typeof props.ajaxCallback == "function" ? props.ajaxCallback(data) : null;
            } 
          });
      }
    },

      /* 
        name 回显表单名称
        path 接口调用全路径
        url 机构调用半路径
        ajaxCallback 回调
        data 参数
      */
    dataEcho: function(props){
      if(props.name &&( props.url || props.path) && props.data){
        var _this = this;
        this.commonAjax({
          url:  props.url || null,
          path: props.path || null,
          data: props.data,
          callback: function(data){
            typeof props.ajaxCallback == "function" ? props.ajaxCallback(data) : null;
            // 表单赋值
             var result = data.data[0];
             for(val in result){
               if(_this.isInteger(result[val])){
                  result[val] = result[val].toString();
               }
             }
             form.val(props.name, result);
          }
        });
      }
    },


    // ajax 共用
    commonAjax:function(props){
      if(props.data &&( props.url || props.path)){
        $.ajax({
          url:props.path ? props.path : serverPath.systemPath + linkAddress.sysLinkPath + props.url,
          type: "POST",
          contentType: 'application/json',
          dataType: 'json',
          data: JSON.stringify(props.data),
          success: function(data) {
            typeof props.callback == "function" ? props.callback(data) : null;
          },
          error: function(XMLHttpRequest, textStatus, errorThrown) {
            layer.alert("失败！" + XMLHttpRequest.status);
          },
        });
      }
    },


    /* 
      updata success 默认返回 
      data 返回值
    
    */
    _success:function(data){
      if (filterRecord(data)) {
        window.parent.layer.alert(data.msg, function() {
          bulletWindow(window.parent.index);
          window.parent.layui.index.render();
        });
      } else {
        window.parent.layer.alert(data.msg);
      }
    },

    isInteger:function(obj) {
      return typeof obj === 'number' && obj%1 === 0
    }

  };

  
  //对外暴露的接口 
  exports('commons', commons);
});